Spools are used to store intermediate results (or final answer sets) in database systems. Checkpointing is used to recover from failures. Spooling and checkpointing are challenging in a multi-database system.